<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>参考滚动父级元素是body-包裹的父容器设置了 overflow: hidden会失效</title>
</head>

<body>
    在此demo中，首先查看设置sticky属性的box2参考的滚动父级元素是body，但是实际上body之所以滚动，是因为box2的父级元素box1的高度撑开了body，所以box2设置的top是相对于body的，但是sticky还是失效了，失效的原因在于box2的父级元素box1设置了
    overflow: hidden/auto/scroll/overlay
    ，此时设置sticky属性的box2元素参考的滚动元素就不是body了，而是box1，而box1的高度比box2的高度大得多，并不足以让box1实现滚动，所以无法作为box2的参考父级滚动元素，进而失效了
    ————————————————
    版权声明：本文为CSDN博主「REX_PERSIST」的原创文章，遵循CC 4.0 BY-SA版权协议，转载请附上原文出处链接及本声明。
    原文链接：https://blog.csdn.net/weixin_53334387/article/details/123399044

    <div class="box1">
        box1
        <div class="box2">box2</div>
    </div>
    <style>
        .box1 {
            width: 300px;
            height: 1200px;
            margin-top: 200px;
            padding-top: 100px;
            overflow: auto;
            /* overflow: hidden;
            overflow: scroll;
            overflow: overlay; */
            /*父元素设置了除overflow:visible以外其他属性，都会使sticky失效*/
            background-color: aqua;
        }

        .box2 {
            width: 200px;
            height: 300px;
            background-color: red;
            position: sticky;
            top: 0;
        }
    </style>

</body>

</html>